package com.javabasic.algorithm.alibaba;

import java.util.HashMap;
import java.util.Scanner;

/**
 * @Author xiongmin
 * @ClassName 最幸福男生
 * @Description TODO
 * @Date 2019/8/30 19:54
 * @Version 1.0
 **/

/**
 * 小明和朋友们在学校里玩最幸福男生和最大团体的游戏，首先男生女生随机站成一圈，请你帮忙选出身边女生最多的男生为最幸福男生，以及按序号连续选择一批同学，最多可以选择k个女生，选出男生最多的团体并输出最多有多少个男生。
 * <p>
 * 输入：
 * bgbbbggbg(站成一圈的同学，首尾相接，b代表男生g代表女生)
 * k(最大团队最多可选女生数量)
 * 输出：
 * 最幸福男生所在位置(序号从0开始，如果存在多个，取按序号排第一个)，最大男生团队男生人数
 * <p>
 * ==================================================================================
 * <p>
 * 一只兔子要通过一个n * n （6<= n <= 30)的方格机关区域，兔子每踩一个方格就会触发与之邻边的方格机关,机关触发后会散发迷雾，机关所在方格的数字对应迷雾散发的时间，数字越小，迷雾散发的时间越短，迷雾散去之后才能继续前进。由于被触发机关的方格是不能行走的，兔子只能跳着通过该区域。假如兔子每次只能跳过与当前所在方格相邻的一个方格，请为兔子计算出从该正方形区域的最上边中的任意一点出发，最快时间通过该区域到达最下边所需要的时间。
 * 要求： 兔子只能从左向右或者从上向下走；方格中的数字大于0，小于100；只有机关被触发的方格才能被跳过
 * <p>
 * 输入：
 * 1. 第一行输入一个数字n，表示方格机关的区域大小
 * 2. 随后输入n行，每行有n个使用逗号分隔的数字，分别代表方格机关每一行对应的方格中的数字
 * 输出：
 * 1. 从最上边开始，最快时间通过区域到达对边，所需要的时间
 * <p>
 * <p>
 * <p>
 * <p>
 * <p>
 * 示例：
 * 输入：
 * 6
 * 1,2,3,5,7,6
 * 2,1,4,5,7,4
 * 3,4,5,6,3,6
 * 2,3,1,4,6,8
 * 5,6,1,4,6,2
 * 4,2,4,1,1,6
 * <p>
 * 输出：
 * 6
 * <p>
 * 说明：
 * 兔子有两种方式以最短时间通过该区域（假设方格区域为二维数组 a ）
 * 1. 兔子所踩方格的坐标依次为： a[0][1] -> a[2][1] -> a[4][1] ；
 * 期间跳过机关格子依次为： a[1][1] -> a[3][1] -> a[5][1] ；
 * 对应的通过时间为： 1 + 3 + 2 = 6
 * <p>
 * 2. 兔子所踩方格的坐标依次为； a[0][1] -> a[2][1] -> a[4][1] -> a[4][3] ;
 * 期间跳过的机关格子依次为： a[1][1] -> a[3][1] ->a[4][2] -> a[5][3] ;
 * 对应的通过时间为： 1 + 3 +1 +1 = 6
 */
public class 最幸福男生 {

    static Scanner cin = new Scanner(System.in);

    public static void main(String[] args) {

        String str = cin.next();
        HashMap<Integer, Integer> map = new HashMap<>();
        int k = cin.nextInt();
        int len = str.length();
        int result = 0, Max = -1;
        for (int i = 0; i < len; i++) {
            if (str.charAt(i) == 'b') {
                int left = 0, right = 0;
                int temp = 0, cur = i;
                map.put(i, 0);
                int tempk = k;
                while ((left == 0 || right == 0) && temp < len && tempk > 0) {
                    temp++;
                    if (left == 0 && str.charAt((cur - temp + len) % len) == 'g') {
                        map.put(i, map.get(i) + 1);
                        tempk--;
                    } else {
                        left = 1;
                    }
                    if (right == 0 && str.charAt((cur + temp + len) % len) == 'g') {
                        map.put(i, map.get(i) + 1);
                        tempk--;
                    } else {
                        right = 1;
                    }
                }
                if (map.get(i) > Max) {
                    Max = map.get(i);
                    result = i;
                }
            }

        }

        System.out.print(result + " ");

        int boyNum = -1;
        for (int i = 0; i < len; i++) {
            int temp = 0, cur = i;
            int tempk = k, boynum = 0;
            if (str.charAt(i) == 'g') tempk--;
            else boynum++;
            while (temp < len && tempk >= 0) {
                temp++;
                if (str.charAt((cur - temp + len) % len) == 'g') {
                    tempk--;
                } else {
                    boynum++;
                }
                if (str.charAt((cur + temp + len) % len) == 'g') {
                    tempk--;
                } else {
                    boynum++;
                }
            }
            if (temp < len && str.charAt((cur + temp + len) % len) == 'b') boynum++;
            if (temp < len && str.charAt((cur - temp + len) % len) == 'b') boynum++;
            if (tempk == 0 && temp < len) {
                temp++;
                int ttemp = temp;
                while (ttemp < len && str.charAt((cur + ttemp + len) % len) == 'b') {
                    ttemp++;
                    boynum++;
                }
                ttemp = temp;
                while (ttemp < len && str.charAt((cur - ttemp + len) % len) == 'b') {
                    ttemp++;
                    boynum++;
                }
            }
            if (boynum > boyNum) {
                boyNum = boynum;

            }

        }

        System.out.println(boyNum);

    }
}
